/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package visualisation;

import data.GameField;
import javax.swing.table.AbstractTableModel;

/**
 * Diese Klasse ist eine Erweiterung des AbstractTableModel und
 * stellt Methode zur Darstellung eines Spielfeldes bereit.
 */
class GameFieldTableModel extends AbstractTableModel{

	private static final long serialVersionUID = 7310321275034226983L;
	private GameField field;
    protected GameFieldTableModel(GameField field)
    {
        this.field = field;
    }
    
    /**@return Die ganzahlige Anzahl der Spielfeldzeilen*/
    @Override
    public int getRowCount()
    {
        return field.GetHeight();
    }

    /**@return Die ganzzahlige Anzahl der Spielfeldspalten*/
    @Override
    public int getColumnCount()
    {
        return field.GetWidth();
    }

    /**@param Die Koordinaten eines Spielfeldes
     * @return Den Zustand des angegebenen Feldes*/
    @Override
    public Object getValueAt(int arg0, int arg1)
    {
        return field.GetFieldStates()[arg0][arg1];
    }

}
